import glob
import shutil
import os


# 项目需求1：将数据按照文件名进行分类，将不同种类的文件放入不同的文件夹
def Classify():
    path = "C:/Users/24350/IdeaProjects/Meteorological_BigData/Data/**/"  # 源文件目录公共部分
    outpath = "C:/Users/24350/IdeaProjects/Meteorological_BigData/initialdata"  # 输出目录公共部分
    # 源文件目录字符串差异化部分
    filelist = [
        "DMYS-[0-9]*.TXT",
        "DMYS-HF*.TXT",
        "H500-[0-9]*.TXT",
        "PLAM-HF*.TXT",
        "PM25-[0-9]*.TXT",
    ]
    flag = 1  # 用于标识输出目录
    for filepattern in filelist:
        files = glob.glob(path + filepattern)  # 获取同类文件的目录列表，并利用循环将列表内的文件移动到相应的输出目录
        for file in files:
            os.makedirs(outpath + str(flag), exist_ok=True)  # 如果输出路径不存在就创建一个
            shutil.copy(file, outpath + str(flag))  # 移动文件到输出目录
        flag = flag + 1


if __name__ == '__main__':
    Classify()